package com.sxj.corejava.code01_Java基础;

/**
 * @author 石小俊
 * 2024年07月08日 14:13
 */
public class Test05_强制类型转换 {

    public static void main(String[] args) {
        int i = 1;
        byte b = (byte)i;
        System.out.println(b);

        // 在使用强制类型转换时,会存在一些误差的场景
        // 当使用小数转换成整数时,会自动截取掉多余的小数部分
        double d1 = 3.14;
        int i2 = (int)d1;
        System.out.println(i2);

        // 当转换前的数值范围超出了转换后的类型范围时,会通过进制重新运算
        int i3 = 1000;
        byte b3 = (byte) i3;
        System.out.println(b3);

        // 将小数转换成整数,且小数中的整数部分超出了转换后的类型的范围
        // 首先小数部分被截取掉,然后整数部分会通过进制重新运算
        double d2 = 1000.123;
        byte b4 = (byte) d2;
        System.out.println(b4);

    }

}
